/*
 * This  file  is  part  of  the  Cadence  LEF/DEF  Open   Source
 * Distribution,  Product Version 5.3, and is subject to the Cadence LEF/DEF
 * Open Source License Agreement.   Your  continued  use  of this file
 * constitutes your acceptance of the terms of the LEF/DEF Open Source
 * License and an agreement to abide by its  terms.   If you  don't  agree
 * with  this, you must remove this and any other files which are part of the
 * distribution and  destroy any  copies made.
 * 
 * For updates, support, or to become part of the LEF/DEF Community, check
 * www.openeda.org for details.
 */
#include <stdio.h>
#include <stdlib.h>
#include "lefiDefs.h"
#include "lef.tab.h"
#include "lefiDebug.h"
#include "FEF_stringhash.h"
#include "crypt.h"
void 
lef_add_to_stringtab_Int(void *hdl, const char *str, int inValue)
{
  int    *value;

  /*
   * Modified 9/2/99 -- Wanda da Rosa
   *//* need to free this in FEF_stringhash.cpp */ value = (int *) malloc(sizeof(int));
  if (value != NULL) {
    *value = inValue;
    lef_add_to_stringtab(hdl, str, value);
  }
  else {

    /*
     * Ran out of memory
     */ lefiError("Not enough memory");
  }
}

void 
lef_init_symbol_table(void *Keyword_set)
{
  lef_add_to_stringtab_Int(Keyword_set, "&DEFINE", K_DEFINE);
  lef_add_to_stringtab_Int(Keyword_set, "&DEFINEB", K_DEFINEB);
  lef_add_to_stringtab_Int(Keyword_set, "&DEFINES", K_DEFINES);
  lef_add_to_stringtab_Int(Keyword_set, "&MESSAGE", K_MESSAGE);
  lef_add_to_stringtab_Int(Keyword_set, "&CREATEFILE", K_CREATEFILE);
  lef_add_to_stringtab_Int(Keyword_set, "&OPENFILE", K_OPENFILE);
  lef_add_to_stringtab_Int(Keyword_set, "&CLOSEFILE", K_CLOSEFILE);
  lef_add_to_stringtab_Int(Keyword_set, "&WARNING", K_WARNING);
  lef_add_to_stringtab_Int(Keyword_set, "&ERROR", K_ERROR);
  lef_add_to_stringtab_Int(Keyword_set, "&FATALERROR", K_FATALERROR);
  lef_add_to_stringtab_Int(Keyword_set, "ABUT", K_ABUT);
  lef_add_to_stringtab_Int(Keyword_set, "ABUTMENT", K_ABUTMENT);
  lef_add_to_stringtab_Int(Keyword_set, "ACTIVE", K_ACTIVE);
  lef_add_to_stringtab_Int(Keyword_set, "ANALOG", K_ANALOG);
  lef_add_to_stringtab_Int(Keyword_set, "AND", K_AND);
  lef_add_to_stringtab_Int(Keyword_set, "ANTENNAAREAFACTOR",
			   K_ANTENNAAREAFACTOR);
  lef_add_to_stringtab_Int(Keyword_set, "ANTENNALENGTHFACTOR",
			   K_ANTENNALENGTHFACTOR);
  lef_add_to_stringtab_Int(Keyword_set, "ANTENNASIZE", K_ANTENNASIZE);
  lef_add_to_stringtab_Int(Keyword_set, "ANTENNAMETALLENGTH",
			   K_ANTENNAMETALLENGTH);
  lef_add_to_stringtab_Int(Keyword_set, "ANTENNAMETALAREA",
			   K_ANTENNAMETALAREA);
  lef_add_to_stringtab_Int(Keyword_set, "ARRAY", K_ARRAY);
  lef_add_to_stringtab_Int(Keyword_set, "BEGINEXT", K_BEGINEXT);
  lef_add_to_stringtab_Int(Keyword_set, "BLOCK", K_BLOCK);
  lef_add_to_stringtab_Int(Keyword_set, "BOTTOMLEFT", K_BOTTOMLEFT);
  lef_add_to_stringtab_Int(Keyword_set, "BOTTOMRIGHT", K_BOTTOMRIGHT);
  lef_add_to_stringtab_Int(Keyword_set, "BUSBITCHARS", K_BUSBITCHARS);
  lef_add_to_stringtab_Int(Keyword_set, "BUFFER", K_BUFFER);
  lef_add_to_stringtab_Int(Keyword_set, "BY", K_BY);
  lef_add_to_stringtab_Int(Keyword_set, "CANNOTOCCUPY", K_CANNOTOCCUPY);
  lef_add_to_stringtab_Int(Keyword_set, "CANPLACE", K_CANPLACE);
  lef_add_to_stringtab_Int(Keyword_set, "CAPACITANCE", K_CAPACITANCE);
  lef_add_to_stringtab_Int(Keyword_set, "CAPMULTIPLIER", K_CAPMULTIPLIER);
  lef_add_to_stringtab_Int(Keyword_set, "CLASS", K_CLASS);
  lef_add_to_stringtab_Int(Keyword_set, "CLOCK", K_CLOCK);
  lef_add_to_stringtab_Int(Keyword_set, "CLOCKTYPE", K_CLOCKTYPE);
  lef_add_to_stringtab_Int(Keyword_set, "COLUMNMAJOR", K_COLUMNMAJOR);
  lef_add_to_stringtab_Int(Keyword_set, "CURRENTDEN", K_CURRENTDEN);
  lef_add_to_stringtab_Int(Keyword_set, "COMPONENTPIN", K_COMPONENTPIN);
  lef_add_to_stringtab_Int(Keyword_set, "COMPONENTS", K_COMPONENTS);
  lef_add_to_stringtab_Int(Keyword_set, "CORE", K_CORE);
  lef_add_to_stringtab_Int(Keyword_set, "CORNER", K_CORNER);
  lef_add_to_stringtab_Int(Keyword_set, "COVER", K_COVER);
  lef_add_to_stringtab_Int(Keyword_set, "CPERSQDIST", K_CPERSQDIST);
  lef_add_to_stringtab_Int(Keyword_set, "CURRENT", K_CURRENT);
  lef_add_to_stringtab_Int(Keyword_set, "CURRENTSOURCE", K_CURRENTSOURCE);
  lef_add_to_stringtab_Int(Keyword_set, "CUT", K_CUT);
  lef_add_to_stringtab_Int(Keyword_set, "DATA", K_DATA);
  lef_add_to_stringtab_Int(Keyword_set, "DATABASE", K_DATABASE);
  lef_add_to_stringtab_Int(Keyword_set, "DEFAULT", K_DEFAULT);
  lef_add_to_stringtab_Int(Keyword_set, "DEFAULTCAP", K_DEFAULTCAP);
  lef_add_to_stringtab_Int(Keyword_set, "DELAY", K_DELAY);
  lef_add_to_stringtab_Int(Keyword_set, "DIELECTRIC", K_DIELECTRIC);
  lef_add_to_stringtab_Int(Keyword_set, "DIRECTION", K_DIRECTION);
  lef_add_to_stringtab_Int(Keyword_set, "DIVIDERCHAR", K_DIVIDERCHAR);
  lef_add_to_stringtab_Int(Keyword_set, "DO", K_DO);
  lef_add_to_stringtab_Int(Keyword_set, "E", K_E);
  lef_add_to_stringtab_Int(Keyword_set, "EDGECAPACITANCE", K_EDGECAPACITANCE);
  lef_add_to_stringtab_Int(Keyword_set, "EEQ", K_EEQ);
  lef_add_to_stringtab_Int(Keyword_set, "ELSE", K_ELSE);
  lef_add_to_stringtab_Int(Keyword_set, "END", K_END);
  lef_add_to_stringtab_Int(Keyword_set, "ENDEXT", K_ENDEXT);
  lef_add_to_stringtab_Int(Keyword_set, "ENDCAP", K_ENDCAP);
  lef_add_to_stringtab_Int(Keyword_set, "EXTENSION", K_EXTENSION);
  lef_add_to_stringtab_Int(Keyword_set, "FALL", K_FALL);
  lef_add_to_stringtab_Int(Keyword_set, "FALLCS", K_FALLCS);
  lef_add_to_stringtab_Int(Keyword_set, "FALLRS", K_FALLRS);
  lef_add_to_stringtab_Int(Keyword_set, "FALLSATCUR", K_FALLSATCUR);
  lef_add_to_stringtab_Int(Keyword_set, "FALLSATT1", K_FALLSATT1);
  lef_add_to_stringtab_Int(Keyword_set, "FALLSLEWLIMIT", K_FALLSLEWLIMIT);
  lef_add_to_stringtab_Int(Keyword_set, "FALLT0", K_FALLT0);
  lef_add_to_stringtab_Int(Keyword_set, "FALLTHRESH", K_FALLTHRESH);
  lef_add_to_stringtab_Int(Keyword_set, "FALLVOLTAGETHRESHOLD",
			   K_FALLVOLTAGETHRESHOLD);
  lef_add_to_stringtab_Int(Keyword_set, "FALSE", K_FALSE);
  lef_add_to_stringtab_Int(Keyword_set, "FE", K_FE);
  lef_add_to_stringtab_Int(Keyword_set, "FEEDTHRU", K_FEEDTHRU);
  lef_add_to_stringtab_Int(Keyword_set, "FIXED", K_FIXED);
  lef_add_to_stringtab_Int(Keyword_set, "FLOORPLAN", K_FLOORPLAN);
  lef_add_to_stringtab_Int(Keyword_set, "FN", K_FN);
  lef_add_to_stringtab_Int(Keyword_set, "FOREIGN", K_FOREIGN);
  lef_add_to_stringtab_Int(Keyword_set, "FROMPIN", K_FROMPIN);
  lef_add_to_stringtab_Int(Keyword_set, "FUNCTION", K_FUNCTION);
  lef_add_to_stringtab_Int(Keyword_set, "FS", K_FS);
  lef_add_to_stringtab_Int(Keyword_set, "FW", K_FW);
  lef_add_to_stringtab_Int(Keyword_set, "GCELLGRID", K_GCELLGRID);
  lef_add_to_stringtab_Int(Keyword_set, "GENERATE", K_GENERATE);
  lef_add_to_stringtab_Int(Keyword_set, "GENERATOR", K_GENERATOR);
  lef_add_to_stringtab_Int(Keyword_set, "GROUND", K_GROUND);
  lef_add_to_stringtab_Int(Keyword_set, "HEIGHT", K_HEIGHT);
  lef_add_to_stringtab_Int(Keyword_set, "HISTORY", K_HISTORY);
  lef_add_to_stringtab_Int(Keyword_set, "HOLD", K_HOLD);
  lef_add_to_stringtab_Int(Keyword_set, "HORIZONTAL", K_HORIZONTAL);
  lef_add_to_stringtab_Int(Keyword_set, "IF", K_IF);
  lef_add_to_stringtab_Int(Keyword_set, "INOUT", K_INOUT);
  lef_add_to_stringtab_Int(Keyword_set, "INOUTPINANTENNASIZE",
			   K_INOUTPINANTENNASIZE);
  lef_add_to_stringtab_Int(Keyword_set, "INPUT", K_INPUT);
  lef_add_to_stringtab_Int(Keyword_set, "INPUTPINANTENNASIZE",
			   K_INPUTPINANTENNASIZE);
  lef_add_to_stringtab_Int(Keyword_set, "INPUTNOISEMARGIN",
			   K_INPUTNOISEMARGIN);
  lef_add_to_stringtab_Int(Keyword_set, "INTEGER", K_INTEGER);
  lef_add_to_stringtab_Int(Keyword_set, "INTRINSIC", K_INTRINSIC);
  lef_add_to_stringtab_Int(Keyword_set, "INVERT", K_INVERT);
  lef_add_to_stringtab_Int(Keyword_set, "INVERTER", K_INVERTER);
  lef_add_to_stringtab_Int(Keyword_set, "IRDROP", K_IRDROP);
  lef_add_to_stringtab_Int(Keyword_set, "ITERATE", K_ITERATE);
  lef_add_to_stringtab_Int(Keyword_set, "IV_TABLES", K_IV_TABLES);
  lef_add_to_stringtab_Int(Keyword_set, "LAYER", K_LAYER);
  lef_add_to_stringtab_Int(Keyword_set, "LEAKAGE", K_LEAKAGE);
  lef_add_to_stringtab_Int(Keyword_set, "LEQ", K_LEQ);
  lef_add_to_stringtab_Int(Keyword_set, "LIBRARY", K_LIBRARY);
  lef_add_to_stringtab_Int(Keyword_set, "MACRO", K_MACRO);
  lef_add_to_stringtab_Int(Keyword_set, "MASTERSLICE", K_MASTERSLICE);
  lef_add_to_stringtab_Int(Keyword_set, "MATCH", K_MATCH);
  lef_add_to_stringtab_Int(Keyword_set, "MAXDELAY", K_MAXDELAY);
  lef_add_to_stringtab_Int(Keyword_set, "MAXLOAD", K_MAXLOAD);
  lef_add_to_stringtab_Int(Keyword_set, "METALOVERHANG", K_METALOVERHANG);
  lef_add_to_stringtab_Int(Keyword_set, "MILLIAMPS", K_MILLIAMPS);
  lef_add_to_stringtab_Int(Keyword_set, "MILLIWATTS", K_MILLIWATTS);
  lef_add_to_stringtab_Int(Keyword_set, "MINFEATURE", K_MINFEATURE);
  lef_add_to_stringtab_Int(Keyword_set, "MINPINS", K_MINPINS);
  lef_add_to_stringtab_Int(Keyword_set, "MUSTJOIN", K_MUSTJOIN);
  lef_add_to_stringtab_Int(Keyword_set, "MX", K_MX);
  lef_add_to_stringtab_Int(Keyword_set, "MY", K_MY);
  lef_add_to_stringtab_Int(Keyword_set, "MXR90", K_MXR90);
  lef_add_to_stringtab_Int(Keyword_set, "MYR90", K_MYR90);
  lef_add_to_stringtab_Int(Keyword_set, "N", K_N);
  lef_add_to_stringtab_Int(Keyword_set, "NAMEMAPSTRING", K_NAMEMAPSTRING);
  lef_add_to_stringtab_Int(Keyword_set, "NAMESCASESENSITIVE",
			   K_NAMESCASESENSITIVE);
  lef_add_to_stringtab_Int(Keyword_set, "NANOSECONDS", K_NANOSECONDS);
  lef_add_to_stringtab_Int(Keyword_set, "NETS", K_NETS);
  lef_add_to_stringtab_Int(Keyword_set, "NEW", K_NEW);
  lef_add_to_stringtab_Int(Keyword_set, "NONDEFAULTRULE", K_NONDEFAULTRULE);
  lef_add_to_stringtab_Int(Keyword_set, "NONINVERT", K_NONINVERT);
  lef_add_to_stringtab_Int(Keyword_set, "NONUNATE", K_NONUNATE);
  lef_add_to_stringtab_Int(Keyword_set, "NOWIREEXTENSIONATPIN",
			   K_NOWIREEXTENSIONATPIN);
  lef_add_to_stringtab_Int(Keyword_set, "OBS", K_OBS);
  lef_add_to_stringtab_Int(Keyword_set, "OFF", K_OFF);
  lef_add_to_stringtab_Int(Keyword_set, "OFFSET", K_OFFSET);
  lef_add_to_stringtab_Int(Keyword_set, "OHMS", K_OHMS);
  lef_add_to_stringtab_Int(Keyword_set, "ON", K_ON);
  lef_add_to_stringtab_Int(Keyword_set, "OR", K_OR);
  lef_add_to_stringtab_Int(Keyword_set, "ORIENTATION", K_ORIENTATION);
  lef_add_to_stringtab_Int(Keyword_set, "ORIGIN", K_ORIGIN);
  lef_add_to_stringtab_Int(Keyword_set, "OUTPUT", K_OUTPUT);
  lef_add_to_stringtab_Int(Keyword_set, "OUTPUTPINANTENNASIZE",
			   K_OUTPUTPINANTENNASIZE);
  lef_add_to_stringtab_Int(Keyword_set, "OUTPUTNOISEMARGIN",
			   K_OUTPUTNOISEMARGIN);
  lef_add_to_stringtab_Int(Keyword_set, "OUTPUTRESISTANCE",
			   K_OUTPUTRESISTANCE);
  lef_add_to_stringtab_Int(Keyword_set, "OVERHANG", K_OVERHANG);
  lef_add_to_stringtab_Int(Keyword_set, "OVERLAP", K_OVERLAP);
  lef_add_to_stringtab_Int(Keyword_set, "OVERLAPS", K_OVERLAPS);
  lef_add_to_stringtab_Int(Keyword_set, "PAD", K_PAD);
  lef_add_to_stringtab_Int(Keyword_set, "PATH", K_PATH);
  lef_add_to_stringtab_Int(Keyword_set, "PATTERN", K_PATTERN);
  lef_add_to_stringtab_Int(Keyword_set, "PICOFARADS", K_PICOFARADS);
  lef_add_to_stringtab_Int(Keyword_set, "PIN", K_PIN);
  lef_add_to_stringtab_Int(Keyword_set, "PITCH", K_PITCH);
  lef_add_to_stringtab_Int(Keyword_set, "PLACED", K_PLACED);
  lef_add_to_stringtab_Int(Keyword_set, "POLYGON", K_POLYGON);
  lef_add_to_stringtab_Int(Keyword_set, "PORT", K_PORT);
  lef_add_to_stringtab_Int(Keyword_set, "POST", K_POST);
  lef_add_to_stringtab_Int(Keyword_set, "POWER", K_POWER);
  lef_add_to_stringtab_Int(Keyword_set, "PRE", K_PRE);
  lef_add_to_stringtab_Int(Keyword_set, "PROPERTY", K_PROPERTY);
  lef_add_to_stringtab_Int(Keyword_set, "PROPERTYDEFINITIONS", K_PROPDEF);
  lef_add_to_stringtab_Int(Keyword_set, "PULLDOWNRES", K_PULLDOWNRES);
  lef_add_to_stringtab_Int(Keyword_set, "PWL", K_PWL);
  lef_add_to_stringtab_Int(Keyword_set, "R0", K_R0);
  lef_add_to_stringtab_Int(Keyword_set, "R90", K_R90);
  lef_add_to_stringtab_Int(Keyword_set, "R180", K_R180);
  lef_add_to_stringtab_Int(Keyword_set, "R270", K_R270);
  lef_add_to_stringtab_Int(Keyword_set, "RANGE", K_RANGE);
  lef_add_to_stringtab_Int(Keyword_set, "REAL", K_REAL);
  lef_add_to_stringtab_Int(Keyword_set, "RECT", K_RECT);
  lef_add_to_stringtab_Int(Keyword_set, "RESISTANCE", K_RESISTANCE);
  lef_add_to_stringtab_Int(Keyword_set, "RESISTIVE", K_RESISTIVE);
  lef_add_to_stringtab_Int(Keyword_set, "RING", K_RING);
  lef_add_to_stringtab_Int(Keyword_set, "RISE", K_RISE);
  lef_add_to_stringtab_Int(Keyword_set, "RISECS", K_RISECS);
  lef_add_to_stringtab_Int(Keyword_set, "RISERS", K_RISERS);
  lef_add_to_stringtab_Int(Keyword_set, "RISESATCUR", K_RISESATCUR);
  lef_add_to_stringtab_Int(Keyword_set, "RISESATT1", K_RISESATT1);
  lef_add_to_stringtab_Int(Keyword_set, "RISESLEWLIMIT", K_RISESLEWLIMIT);
  lef_add_to_stringtab_Int(Keyword_set, "RISET0", K_RISET0);
  lef_add_to_stringtab_Int(Keyword_set, "RISETHRESH", K_RISETHRESH);
  lef_add_to_stringtab_Int(Keyword_set, "RISEVOLTAGETHRESHOLD",
			   K_RISEVOLTAGETHRESHOLD);
  lef_add_to_stringtab_Int(Keyword_set, "ROUTING", K_ROUTING);
  lef_add_to_stringtab_Int(Keyword_set, "ROWMAJOR", K_ROWMAJOR);
  lef_add_to_stringtab_Int(Keyword_set, "RPERSQ", K_RPERSQ);
  lef_add_to_stringtab_Int(Keyword_set, "S", K_S);
  lef_add_to_stringtab_Int(Keyword_set, "SAMENET", K_SAMENET);
  lef_add_to_stringtab_Int(Keyword_set, "SCANUSE", K_SCANUSE);
  lef_add_to_stringtab_Int(Keyword_set, "SETUP", K_SETUP);
  lef_add_to_stringtab_Int(Keyword_set, "SHAPE", K_SHAPE);
  lef_add_to_stringtab_Int(Keyword_set, "SHRINKAGE", K_SHRINKAGE);
  lef_add_to_stringtab_Int(Keyword_set, "SIGNAL", K_SIGNAL);
  lef_add_to_stringtab_Int(Keyword_set, "SITE", K_SITE);
  lef_add_to_stringtab_Int(Keyword_set, "SIZE", K_SIZE);
  lef_add_to_stringtab_Int(Keyword_set, "SOURCE", K_SOURCE);
  lef_add_to_stringtab_Int(Keyword_set, "SPACER", K_SPACER);
  lef_add_to_stringtab_Int(Keyword_set, "SPACING", K_SPACING);
  lef_add_to_stringtab_Int(Keyword_set, "SPECIALNETS", K_SPECIALNETS);
  lef_add_to_stringtab_Int(Keyword_set, "STABLE", K_STABLE);
  lef_add_to_stringtab_Int(Keyword_set, "STACK", K_STACK);
  lef_add_to_stringtab_Int(Keyword_set, "START", K_START);
  lef_add_to_stringtab_Int(Keyword_set, "STEP", K_STEP);
  lef_add_to_stringtab_Int(Keyword_set, "STOP", K_STOP);
  lef_add_to_stringtab_Int(Keyword_set, "STRING", K_STRING);
  lef_add_to_stringtab_Int(Keyword_set, "STRUCTURE", K_STRUCTURE);
  lef_add_to_stringtab_Int(Keyword_set, "SYMMETRY", K_SYMMETRY);
  lef_add_to_stringtab_Int(Keyword_set, "TABLE", K_TABLE);
  lef_add_to_stringtab_Int(Keyword_set, "TABLEAXIS", K_TABLEAXIS);
  lef_add_to_stringtab_Int(Keyword_set, "TABLEDIMENSION", K_TABLEDIMENSION);
  lef_add_to_stringtab_Int(Keyword_set, "TABLEENTRIES", K_TABLEENTRIES);
  lef_add_to_stringtab_Int(Keyword_set, "TAPERRULE", K_TAPERRULE);
  lef_add_to_stringtab_Int(Keyword_set, "THEN", K_THEN);
  lef_add_to_stringtab_Int(Keyword_set, "THICKNESS", K_THICKNESS);
  lef_add_to_stringtab_Int(Keyword_set, "TIEHIGH", K_TIEHIGH);
  lef_add_to_stringtab_Int(Keyword_set, "TIELOW", K_TIELOW);
  lef_add_to_stringtab_Int(Keyword_set, "TIEOFFR", K_TIEOFFR);
  lef_add_to_stringtab_Int(Keyword_set, "TIME", K_TIME);
  lef_add_to_stringtab_Int(Keyword_set, "TIMING", K_TIMING);
  lef_add_to_stringtab_Int(Keyword_set, "TO", K_TO);
  lef_add_to_stringtab_Int(Keyword_set, "TOPIN", K_TOPIN);
  lef_add_to_stringtab_Int(Keyword_set, "TOPLEFT", K_TOPLEFT);
  lef_add_to_stringtab_Int(Keyword_set, "TOPOFSTACKONLY", K_TOPOFSTACKONLY);
  lef_add_to_stringtab_Int(Keyword_set, "TOPRIGHT", K_TOPRIGHT);
  lef_add_to_stringtab_Int(Keyword_set, "TRACKS", K_TRACKS);
  lef_add_to_stringtab_Int(Keyword_set, "TRANSITIONTIME", K_TRANSITIONTIME);
  lef_add_to_stringtab_Int(Keyword_set, "TRISTATE", K_TRISTATE);
  lef_add_to_stringtab_Int(Keyword_set, "TRUE", K_TRUE);
  lef_add_to_stringtab_Int(Keyword_set, "TYPE", K_TYPE);
  lef_add_to_stringtab_Int(Keyword_set, "UNATENESS", K_UNATENESS);
  lef_add_to_stringtab_Int(Keyword_set, "UNITS", K_UNITS);
  lef_add_to_stringtab_Int(Keyword_set, "USE", K_USE);
  lef_add_to_stringtab_Int(Keyword_set, "USER", K_USER);
  lef_add_to_stringtab_Int(Keyword_set, "VARIABLE", K_VARIABLE);
  lef_add_to_stringtab_Int(Keyword_set, "VERSION", K_VERSION);
  lef_add_to_stringtab_Int(Keyword_set, "VERTICAL", K_VERTICAL);
  lef_add_to_stringtab_Int(Keyword_set, "VHI", K_VHI);
  lef_add_to_stringtab_Int(Keyword_set, "VIA", K_VIA);
  lef_add_to_stringtab_Int(Keyword_set, "VIARULE", K_VIARULE);
  lef_add_to_stringtab_Int(Keyword_set, "VIRTUAL", K_VIRTUAL);
  lef_add_to_stringtab_Int(Keyword_set, "VLO", K_VLO);
  lef_add_to_stringtab_Int(Keyword_set, "VOLTAGE", K_VOLTAGE);
  lef_add_to_stringtab_Int(Keyword_set, "VOLTS", K_VOLTS);
  lef_add_to_stringtab_Int(Keyword_set, "W", K_W);
  lef_add_to_stringtab_Int(Keyword_set, "WIDTH", K_WIDTH);
  lef_add_to_stringtab_Int(Keyword_set, "WIRECAP", K_WIRECAP);
  lef_add_to_stringtab_Int(Keyword_set, "WIREEXTENSION", K_WIREEXTENSION);
  lef_add_to_stringtab_Int(Keyword_set, "X", K_X);
  lef_add_to_stringtab_Int(Keyword_set, "Y", K_Y);
  lef_add_to_stringtab_Int(Keyword_set, "namescasesensitive",
			   K_NAMESCASESENSITIVE);
  lef_add_to_stringtab_Int(Keyword_set, "off", K_OFF);
  lef_add_to_stringtab_Int(Keyword_set, "on", K_ON);
  lef_add_to_stringtab_Int(Keyword_set, "UNIVERSALNOISEMARGIN",
			   K_UNIVERSALNOISEMARGIN);
  lef_add_to_stringtab_Int(Keyword_set, "EDGERATETHRESHOLD1",
			   K_EDGERATETHRESHOLD1);
  lef_add_to_stringtab_Int(Keyword_set, "CORRECTIONTABLE", K_CORRECTIONTABLE);
  lef_add_to_stringtab_Int(Keyword_set, "EDGERATESCALEFACTOR",
			   K_EDGERATESCALEFACTOR);
  lef_add_to_stringtab_Int(Keyword_set, "EDGERATETHRESHOLD2",
			   K_EDGERATETHRESHOLD2);
  lef_add_to_stringtab_Int(Keyword_set, "VICTIMNOISE", K_VICTIMNOISE);
  lef_add_to_stringtab_Int(Keyword_set, "NOISETABLE", K_NOISETABLE);
  lef_add_to_stringtab_Int(Keyword_set, "EDGERATE", K_EDGERATE);
  lef_add_to_stringtab_Int(Keyword_set, "OUTPUTRESISTANCE", K_OUTPUTRESISTANCE);
  lef_add_to_stringtab_Int(Keyword_set, "VICTIMLENGTH", K_VICTIMLENGTH);
  lef_add_to_stringtab_Int(Keyword_set, "CORRECTIONFACTOR", K_CORRECTIONFACTOR);
  lef_add_to_stringtab_Int(Keyword_set, "RECOVERY", K_RECOVERY);
  lef_add_to_stringtab_Int(Keyword_set, "SKEW", K_SKEW);
  lef_add_to_stringtab_Int(Keyword_set, "ANYEDGE", K_ANYEDGE);
  lef_add_to_stringtab_Int(Keyword_set, "POSEDGE", K_POSEDGE);
  lef_add_to_stringtab_Int(Keyword_set, "NEGEDGE", K_NEGEDGE);
  lef_add_to_stringtab_Int(Keyword_set, "SDFCONDSTART", K_SDFCONDSTART);
  lef_add_to_stringtab_Int(Keyword_set, "SDFCONDEND", K_SDFCONDEND);
  lef_add_to_stringtab_Int(Keyword_set, "SDFCOND", K_SDFCOND);
  lef_add_to_stringtab_Int(Keyword_set, "MPWH", K_MPWH);
  lef_add_to_stringtab_Int(Keyword_set, "MPWL", K_MPWL);
  lef_add_to_stringtab_Int(Keyword_set, "PERIOD", K_PERIOD);
  lef_add_to_stringtab_Int(Keyword_set, "ACCURRENTDENSITY", K_ACCURRENTDENSITY);
  lef_add_to_stringtab_Int(Keyword_set, "DCCURRENTDENSITY", K_DCCURRENTDENSITY);
  lef_add_to_stringtab_Int(Keyword_set, "TABLEDIMENSION", K_TABLEDIMENSION);
  lef_add_to_stringtab_Int(Keyword_set, "PEAK", K_PEAK);
  lef_add_to_stringtab_Int(Keyword_set, "AVERAGE", K_AVERAGE);
  lef_add_to_stringtab_Int(Keyword_set, "RMS", K_RMS);
  lef_add_to_stringtab_Int(Keyword_set, "FREQUENCY", K_FREQUENCY);
  lef_add_to_stringtab_Int(Keyword_set, "CUTAREA", K_CUTAREA);
  lef_add_to_stringtab_Int(Keyword_set, "MEGAHERTZ", K_MEGAHERTZ);
  lef_add_to_stringtab_Int(Keyword_set, "USELENGTHTHRESHOLD",
			   K_USELENGTHTHRESHOLD);
  lef_add_to_stringtab_Int(Keyword_set, "LENGTHTHRESHOLD",
			   K_LENGTHTHRESHOLD);
}

#define yyparse	lefyyparse
#define yylex	lefyylex
#define yyerror	lefyyerror
#define yylval	lefyylval
#define yychar	lefyychar
#define yydebug	lefyydebug
#define yynerrs	lefyynerrs
#include "lex.cpph"
